﻿namespace MicroCloud.Utils
{
    /// <summary>
    /// 组织机构标记
    /// <para>用于标示组织机构属性/字段</para>
    /// </summary>
    [AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
    public class OrganizationFlagAttribute : Attribute
    {
        #region 常量
        /// <summary>
        /// 当前组织机构标识
        /// </summary>
        public const string CurrentToken = "@CurrentOrganizationId";

        /// <summary>
        /// 当前及子级组织机构标识
        /// </summary>
        public const string CurrentChildrenToken = "@CurrentChildrenOrganizationId";

        /// <summary>
        /// 当前及父级组织机构标识
        /// </summary>
        public const string CurrentParentToken = "@CurrentParentOrganizationId";

        /// <summary>
        /// 当前及父级子级组织机构标识
        /// </summary>
        public const string CurrentParentChildrenToken = "@CurrentParentChildrenOrganizationId";
  
        /// <summary>
        /// 子级组织机构标识
        /// </summary>
        public const string ChildrenToken = "@ChildrenOrganizationId";

        /// <summary>
        /// 父级组织机构标识
        /// </summary>
        public const string ParentToken = "@ParentOrganizationId";

        /// <summary>
        /// 父级子级组织机构标识
        /// </summary>
        public const string ParentChildrenToken = "@ParentChildrenOrganizationId";

        #endregion

    }

}
